home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / mail / vbstak12 / vbstak / vbstak.txt < prev    next >
Text File  |  1995-07-29  |  18KB  |  470 lines

  1. '//-----------------------------------------------------------------------
  2. '//
  3. '// VBStak constant definitions
  4. '//
  5. '// Date: 02/20/95
  6. '// Version: 1.2
  7. '//
  8. '//
  9. '//-----------------------------------------------------------------------------
  10.  
  11. '// Stak Status defines
  12. Global Const STAK_STATUS_IDLE = 0
  13. Global Const STAK_STATUS_INITIALIZED = 1
  14. Global Const STAK_STATUS_OPENED = 2
  15. Global Const STAK_STATUS_BOUND = 3
  16. Global Const STAK_STATUS_CONNECTED = 4
  17. Global Const STAK_STATUS_SENDING = 5
  18. Global Const STAK_STATUS_LISTENING = 6
  19. Global Const STAK_STATUS_ACCEPTED = 7
  20.  
  21. '//-----------------------------------------------------------------------------
  22. '// Stak Errors
  23. Global Const NO_ERROR = 0
  24. Global Const STAK_ERROR_NOPORTS = &H7000
  25. Global Const STAK_ERROR_INVALID_ADDRESS = &H7001
  26.  
  27. '//-----------------------------------------------------------------------------
  28. '// Stak Action
  29. Global Const STAK_ACTION_OPEN = 0
  30. Global Const STAK_ACTION_CONNECT = 0
  31. Global Const STAK_ACTION_CLOSE = 1
  32. Global Const STAK_ACTION_SEND = 2
  33. Global Const STAK_ACTION_SEND_TO = 2
  34. Global Const STAK_ACTION_GET_SERVICE = 4
  35. Global Const STAK_ACTION_GET_HOST = 5
  36. Global Const STAK_ACTION_GET_PROTOCOL = 6
  37. Global Const STAK_ACTION_LISTEN = 7
  38.  
  39. '------------------------------------------------------------------
  40. '
  41. ' Global Constants from BSD Sockets
  42. '
  43.  
  44. Global Const FD_SETSIZE = 64
  45. Global Const IOCPARM_MASK = &H7F               '/* parameters must be < 128 bytes */
  46. Global Const IOC_VOID = &H20000000            '/* no parameters */
  47. Global Const IOC_OUT = &H40000000             '/* copy out parameters */
  48. Global Const IOC_IN = &H80000000              '/* copy in parameters */
  49. Global Const IOC_INOUT = &HC0000000
  50. '/*
  51. ' * Constants and structures defined by the internet system,
  52. ' * Per RFC 790, September 1981, taken from the BSD file netinet/in.h.
  53. ' */
  54.  
  55. '/*
  56. ' * Protocols
  57. ' */
  58. Global Const IPPROTO_IP = 0                           '/* dummy for IP */
  59. Global Const IPPROTO_ICMP = 1                         '/* control message protocol */
  60. Global Const IPPROTO_GGP = 2                          '/* gateway^2 (deprecated) */
  61. Global Const IPPROTO_TCP = 6                          '/* tcp */
  62. Global Const IPPROTO_PUP = 12                         '/* pup */
  63. Global Const IPPROTO_UDP = 17                         '/* user datagram protocol */
  64. Global Const IPPROTO_IDP = 22                         '/* xns idp */
  65. Global Const IPPROTO_ND = 77                          '/* UNOFFICIAL net disk proto */
  66.  
  67. Global Const IPPROTO_RAW = 255                        '/* raw IP packet */
  68. Global Const IPPROTO_MAX = 256
  69.  
  70. '/*
  71. ' * Port/socket numbers: network standard functions
  72. ' */
  73. Global Const IPPORT_ANY = 0
  74. Global Const IPPORT_ECHO = 7
  75. Global Const IPPORT_DISCARD = 9
  76. Global Const IPPORT_SYSTAT = 11
  77. Global Const IPPORT_DAYTIME = 13
  78. Global Const IPPORT_NETSTAT = 15
  79. Global Const IPPORT_FTP = 21
  80. Global Const IPPORT_TELNET = 23
  81. Global Const IPPORT_SMTP = 25
  82. Global Const IPPORT_TIMESERVER = 37
  83. Global Const IPPORT_NAMESERVER = 42
  84. Global Const IPPORT_WHOIS = 43
  85. Global Const IPPORT_MTP = 57
  86.  
  87. '/*
  88. ' * Port/socket numbers: host specific functions
  89. ' */
  90. Global Const IPPORT_TFTP = 69
  91. Global Const IPPORT_RJE = 77
  92. Global Const IPPORT_FINGER = 79
  93. Global Const IPPORT_TTYLINK = 87
  94. Global Const IPPORT_SUPDUP = 95
  95.  
  96. '/*
  97. ' * UNIX TCP sockets
  98. ' */
  99. Global Const IPPORT_EXECSERVER = 512
  100. Global Const IPPORT_LOGINSERVER = 513
  101. Global Const IPPORT_CMDSERVER = 514
  102. Global Const IPPORT_EFSSERVER = 520
  103.  
  104. '/*
  105. '* UNIX UDP sockets
  106. ' */
  107. Global Const IPPORT_BIFFUDP = 512
  108. Global Const IPPORT_WHOSERVER = 513
  109. Global Const IPPORT_ROUTESERVER = 520
  110.                                        ' /* 520+1 also used */
  111.  
  112. '/*
  113. ' * Ports < IPPORT_RESERVED are reserved for
  114. ' * privileged processes (e.g. root).
  115. ' */
  116. Global Const IPPORT_RESERVED = 1024
  117.                                  
  118. '/*
  119. ' * Link numbers
  120. ' */
  121. Global Const IMPLINK_IP = 155
  122. Global Const IMPLINK_LOWEXPER = 156
  123. Global Const IMPLINK_HIGHEXPER = 158
  124. Global Const INADDR_ANY = &H0
  125. Global Const INADDR_LOOPBACK = &H7F000001
  126. Global Const INADDR_BROADCAST = &HFFFFFFFF
  127. Global Const INADDR_NONE = &HFFFFFFFF
  128.  
  129. Global Const WSADESCRIPTION_LEN = 256
  130. Global Const WSASYS_STATUS_LEN = 128
  131.  
  132. '/*
  133. ' * Options for use with [gs]etsockopt at the IP level.
  134. ' */
  135. Global Const IP_OPTIONS = 1                   '/* set/get IP per-packet options */
  136.  
  137. '/*
  138. ' * Definitions related to sockets: types, address families, options,
  139. ' * taken from the BSD file sys/socket.h.
  140. ' */
  141.  
  142. '/*
  143. ' * SOCKET type is unsigned.
  144. ' */
  145. Global Const INVALID_SOCKET = &HFFFF   '?? (SOCKET)(~0)
  146. Global Const SOCKET_ERROR = -1
  147.  
  148. '/*
  149. ' * Types
  150. ' */
  151. Global Const SOCK_STREAM = 1                  '/* stream socket */
  152. Global Const SOCK_DGRAM = 2                   '/* datagram socket */
  153. Global Const SOCK_RAW = 3                     '/* raw-protocol interface */
  154. Global Const SOCK_RDM = 4                     '/* reliably-delivered message */
  155. Global Const SOCK_SEQPACKET = 5               '/* sequenced packet stream */
  156.  
  157. '/*
  158. ' * Option flags per-socket.
  159. ' */
  160. Global Const SO_DEBUG = &H1                    '/* turn on debugging info recording */
  161. Global Const SO_ACCEPTCONN = &H2              '/* socket has had listen() */
  162. Global Const SO_REUSEADDR = &H4               '/* allow local address reuse */
  163. Global Const SO_KEEPALIVE = &H8               '/* keep connections alive */
  164. Global Const SO_DONTROUTE = &H10              '/* just use interface addresses */
  165. Global Const SO_BROADCAST = &H20              '/* permit sending of broadcast msgs */
  166. Global Const SO_USELOOPBACK = &H40            '/* bypass hardware when possible */
  167. Global Const SO_LINGER = &H80                 '/* linger on close if data present */
  168. Global Const SO_OOBINLINE = &H100             '/* leave received OOB data in line */
  169.  
  170. '#define SO_DONTLINGER   (u_int)(~SO_LINGER)
  171.  
  172. '/*
  173. ' * Additional options.
  174. ' */
  175. Global Const SO_SNDBUF = &H1001               '/* send buffer size */
  176. Global Const SO_RCVBUF = &H1002               '/* receive buffer size */
  177. Global Const SO_SNDLOWAT = &H1003             '/* send low-water mark */
  178. Global Const SO_RCVLOWAT = &H1004            ' /* receive low-water mark */
  179. Global Const SO_SNDTIMEO = &H1005             '/* send timeout */
  180. Global Const SO_RCVTIMEO = &H1006             '/* receive timeout */
  181. Global Const SO_ERROR = &H1007                '/* get error status and clear */
  182. Global Const SO_TYPE = &H1008                ' /* get socket type */
  183.  
  184. '/*
  185. ' * TCP options.
  186. ' */
  187. Global Const TCP_NODELAY = &H1
  188.  
  189. '/*
  190. ' * Address families.
  191. ' */
  192. Global Const AF_UNSPEC = 0                    '/* unspecified */
  193. Global Const AF_UNIX = 1                      '/* local to host (pipes, portals) */
  194. Global Const AF_INET = 2                      '/* internetwork: UDP, TCP, etc. */
  195. Global Const AF_IMPLINK = 3                   '/* arpanet imp addresses */
  196. Global Const AF_PUP = 4                       '/* pup protocols: e.g. BSP */
  197. Global Const AF_CHAOS = 5                     '/* mit CHAOS protocols */
  198. Global Const AF_NS = 6                       '/* XEROX NS protocols */
  199. Global Const AF_ISO = 7                       '/* ISO protocols */
  200. Global Const AF_OSI = AF_ISO                  '/* OSI is ISO */
  201. Global Const AF_ECMA = 8                      '/* european computer manufacturers */
  202. Global Const AF_DATAKIT = 9                   '/* datakit protocols */
  203. Global Const AF_CCITT = 10                    '/* CCITT protocols, X.25 etc */
  204. Global Const AF_SNA = 11                      '/* IBM SNA */
  205. Global Const AF_DECnet = 12                   '/* DECnet */
  206. Global Const AF_DLI = 13                      '/* Direct data link interface */
  207. Global Const AF_LAT = 14                      '/* LAT */
  208. Global Const AF_HYLINK = 15                   '/* NSC Hyperchannel */
  209. Global Const AF_APPLETALK = 16                '/* AppleTalk */
  210. Global Const AF_NETBIOS = 17                  '/* NetBios-style addresses */
  211.  
  212. Global Const AF_MAX = 18
  213. '/*
  214. ' * Level number for (get/set)sockopt() to apply to socket itself.
  215. ' */
  216. Global Const SOL_SOCKET = &HFFFF              '/* options for socket level */
  217.  
  218. ''/*
  219. ' * Maximum queue length specifiable by listen.
  220. ' */
  221. Global Const SOMAXCONN = 5
  222.  
  223. Global Const MSG_OOB = &H1                    '/* process out-of-band data */
  224. Global Const MSG_PEEK = &H2                   '/* peek at incoming message */
  225. Global Const MSG_DONTROUTE = &H4             '/* send without using routing tables */
  226.  
  227. Global Const MSG_MAXIOVLEN = 16
  228.  
  229. '/*
  230. ' * Define constant based on rfc883, used by gethostbyxxxx() calls.
  231. ' */
  232. Global Const MAXGETHOSTSTRUCT = 1024
  233.  
  234. '/*
  235. ' * Define flags to be used with the WSAAsyncSelect() call.
  236. ' */
  237. Global Const FD_READ = &H1
  238. Global Const FD_WRITE = &H2
  239. Global Const FD_OOB = &H4
  240. Global Const FD_ACCEPT = &H8
  241. Global Const FD_CONNECT = &H10
  242. Global Const FD_CLOSE = &H20
  243. Global Const FD_SERVICE = &H40
  244. Global Const FD_HOST = &H80
  245. Global Const FD_PROTOCOL = &H100
  246.  
  247. '/* Additional VB_STAK flags
  248. Global Const STAK_EVENT_SERVICE = &H40
  249. Global Const STAK_EVENT_HOST = &H80
  250. Global Const STAK_EVENT_PROTOCOL = &H100
  251. Global Const STAK_EVENT_READ = &H1
  252. Global Const STAK_EVENT_WRITE = &H2
  253. Global Const STAK_EVENT_OOB = &H4
  254. Global Const STAK_EVENT_ACCEPT = &H8
  255. Global Const STAK_EVENT_CONNECT = &H10
  256. Global Const STAK_EVENT_CLOSE = &H20
  257. '/*
  258. ' * All Windows Sockets error constants are biased by WSABASEERR from
  259.  '* the "normal"
  260. ' */
  261. Global Const WSABASEERR = 10000
  262. Global Const WS_ERROR = &H4000
  263. Global Const WS_ERROR_INVALID_ADDRESS = &H4001
  264. '/*
  265. ' * Windows Sockets definitions of regular Microsoft C error constants
  266. ' */
  267. 'VB Note: reference to the following error codes requires an offset of
  268. ' WSBASEERR
  269. ' eg. if WSAGetLastError() = WSBASEERR+WSAEINTR then ...
  270. '
  271. ' I use a WSerrorCheck() function to get and verify error codes
  272.  
  273. Global Const WSAEINTR = 4
  274. Global Const WSAEBADF = 9
  275. Global Const WSAEACCES = 13
  276. Global Const WSAEFAULT = 14
  277. Global Const WSAEINVAL = 22
  278. Global Const WSAEMFILE = 24
  279.  
  280. '/*
  281. ' * Windows Sockets definitions of regular Berkeley error constants
  282. ' */
  283. Global Const WSAEWOULDBLOCK = 35
  284. Global Const WSAEINPROGRESS = 36
  285. Global Const WSAEALREADY = 37
  286. Global Const WSAENOTSOCK = 38
  287. Global Const WSAEDESTADDRREQ = 39
  288. Global Const WSAEMSGSIZE = 40
  289. Global Const WSAEPROTOTYPE = 41
  290. Global Const WSAENOPROTOOPT = 42
  291. Global Const WSAEPROTONOSUPPORT = 43
  292. Global Const WSAESOCKTNOSUPPORT = 44
  293. Global Const WSAEOPNOTSUPP = 45
  294. Global Const WSAEPFNOSUPPORT = 46
  295. Global Const WSAEAFNOSUPPORT = 47
  296. Global Const WSAEADDRINUSE = 48
  297. Global Const WSAEADDRNOTAVAIL = 49
  298. Global Const WSAENETDOWN = 50
  299. Global Const WSAENETUNREACH = 51
  300. Global Const WSAENETRESET = 52
  301. Global Const WSAECONNABORTED = 53
  302. Global Const WSAECONNRESET = 54
  303. Global Const WSAENOBUFS = 55
  304. Global Const WSAEISCONN = 56
  305. Global Const WSAENOTCONN = 57
  306. Global Const WSAESHUTDOWN = 58
  307. Global Const WSAETOOMANYREFS = 59
  308. Global Const WSAETIMEDOUT = 60
  309. Global Const WSAECONNREFUSED = 61
  310. Global Const WSAELOOP = 62
  311. Global Const WSAENAMETOOLONG = 63
  312. Global Const WSAEHOSTDOWN = 64
  313. Global Const WSAEHOSTUNREACH = 65
  314. Global Const WSAENOTEMPTY = 66
  315. Global Const WSAEPROCLIM = 67
  316. Global Const WSAEUSERS = 68
  317. Global Const WSAEDQUOT = 69
  318. Global Const WSAESTALE = 70
  319. Global Const WSAEREMOTE = 71
  320.  
  321. '/*
  322. ' * Extended Windows Sockets error constant definitions
  323. ' */
  324. Global Const WSASYSNOTREADY = 91
  325. Global Const WSAVERNOTSUPPORTED = 92
  326. Global Const WSANOTINITIALISED = 93
  327.  
  328. '/*
  329. ' * Error return codes from gethostbyname( and gethostbyaddr()
  330. ' * (when using the resolver). Note that these errors are
  331. ' * retrieved via WSAGetLastError() and must therefore follow
  332. ' * the rules for avoiding clashes with error numbers from
  333. ' * specific implementations or language run-time systems.
  334. ' * For this reason the codes are based at 1000+1001.
  335. ' * Note also that [WSA]NO_ADDRESS is defined only for
  336. ' * compatibility purposes.
  337. ' */
  338.  
  339.  
  340. '/* Authoritative Answer: Host not found */
  341. Global Const WSAHOST_NOT_FOUND = 1001
  342. Global Const HOST_NOT_FOUND = 1001
  343.  
  344. '/* Non-Authoritative: Host not found, or SERVERFAIL */
  345. Global Const WSATRY_AGAIN = 1002
  346. Global Const TRY_AGAIN = 1002
  347.  
  348. '/* Non recoverable errors, FORMERR, REFUSED, NOTIMP */
  349. Global Const WSANO_RECOVERY = 1003
  350. Global Const NO_RECOVERY = 1003
  351.  
  352. '/* Valid name, no data record of requested type */
  353. Global Const WSANO_DATA = 1004
  354. Global Const NO_DATA = 1004
  355.  
  356. '/* no address, look for MX record */
  357. Global Const WSANO_ADDRESS = 1004
  358. Global Const NO_ADDRESS = 1004
  359.  
  360. '/*
  361. ' * Windows Sockets errors redefined as regular Berkeley error constants
  362. ' */
  363. Global Const EWOULDBLOCK = 35
  364. Global Const EINPROGRESS = 36
  365. Global Const EALREADY = 37
  366. Global Const ENOTSOCK = 38
  367. Global Const EDESTADDRREQ = 39
  368. Global Const EMSGSIZE = 40
  369. Global Const EPROTOTYPE = 41
  370. Global Const ENOPROTOOPT = 42
  371. Global Const EPROTONOSUPPORT = 43
  372. Global Const ESOCKTNOSUPPORT = 44
  373. Global Const EOPNOTSUPP = 45
  374. Global Const EPFNOSUPPORT = 46
  375. Global Const EAFNOSUPPORT = 47
  376. Global Const EADDRINUSE = 48
  377. Global Const EADDRNOTAVAIL = 49
  378. Global Const ENETDOWN = 50
  379. Global Const ENETUNREACH = 51
  380. Global Const ENETRESET = 52
  381. Global Const ECONNABORTED = 53
  382. Global Const ECONNRESET = 54
  383. Global Const ENOBUFS = 55
  384. Global Const EISCONN = 56
  385. Global Const ENOTCONN = 57
  386. Global Const ESHUTDOWN = 58
  387. Global Const ETOOMANYREFS = 59
  388. Global Const ETIMEDOUT = 60
  389. Global Const ECONNREFUSED = 61
  390. Global Const ELOOP = 62
  391. Global Const ENAMETOOLONG = 63
  392. Global Const EHOSTDOWN = 64
  393. Global Const EHOSTUNREACH = 65
  394. Global Const ENOTEMPTY = 66
  395. Global Const EPROCLIM = 67
  396. Global Const EUSERS = 68
  397. Global Const EDQUOT = 69
  398. Global Const ESTALE = 70
  399. Global Const EREMOTE = 71
  400.  
  401. ' Errors
  402. Global Const WSANOTINITIALISED_S = "A successful WSAStartup() must occur before using this API."
  403. Global Const WSAENETDOWN_S = "The Windows Sockets implementation has detected that the network subsystem has failed."
  404. Global Const WSAEADDRINUSE_S = "The specified address is already in use.  (See the SO_REUSEADDR socket option under setsockopt().)"
  405. Global Const WSAEFAULT_S = "The namelen argument is too small (less than the size of a struct sockaddr)."
  406. Global Const WSAEINTR_S = "The (blocking) call was canceled via WSACancelBlockingCall()"
  407. Global Const WSAEINPROGRESS_S = "A blocking Windows Sockets call is in progress."
  408. Global Const WSAEAFNOSUPPORT_S = "The specified address family is not supported by this protocol."
  409. Global Const WSAEINVAL_S = "The socket is already bound to an address."
  410. Global Const WSAENOBUFS_S = " Not enough buffers available, too many connections."
  411. Global Const WSAENOTSOCK_S = "The descriptor is not a socket."
  412. Global Const WSAEADDRNOTAVAIL_S = "The specified address is not available from the local machine."
  413. Global Const WSAECONNREFUSED_S = "The attempt to connect was forcefully rejected."
  414. Global Const WSAEDESTADDREQ_S = "A destination address is required."
  415. Global Const WSAEISCONN_S = "The socket is already connected."
  416. Global Const WSAEMFILE_S = "No more file descriptors are available."
  417. Global Const WSAENETUNREACH_S = "The network can't be reached from this host at this time."
  418. Global Const WSAETIMEDOUT_S = "Attempt to connect timed out without establishing a connection"
  419. Global Const WSAEWOULDBLOCK_S = "The socket is marked as non-blocking and the connection cannot be completed immediately.  It is possible to select() the socket while it is connecting by select()ing it for writing."
  420. Global Const WSAHOST_NOT_FOUND_S = "Authoritative Answer Host not found."
  421. Global Const WSATRY_AGAIN_S = "Non-Authoritative Host not found, or SERVERFAIL."
  422. Global Const WSANO_RECOVERY_S = "Non recoverable errors, FORMERR, REFUSED, NOTIMP."
  423. Global Const WSANO_DATA_S = "Valid name, no data record of requested type."
  424. Global Const WSAENOPROTOOPT_S = "The option is unknown or unsupported.  In particular."
  425. Global Const WSAEACCES_S = "The requested address is a broadcast address, but the appropriate flag was not set."
  426. Global Const WSAENETRESET_S = "The connection must be reset because the Windows Sockets implementation dropped it."
  427. Global Const WSAENOTCONN_S = "The socket is not connected."
  428. Global Const WSAEOPNOTSUPP_S = "MSG_OOB was specified, but the socket is not of type SOCK_STREAM."
  429. Global Const WSAESHUTDOWN_S = "The socket has been shutdown; it is not possible to send() on a socket after shutdown() has been invoked with how set to 1 or 2."
  430. Global Const WSAEMSGSIZE_S = "The socket is of type SOCK_DGRAM, and the datagram is larger than the maximum supported by the Windows Sockets implementation."
  431. Global Const WSAECONNABORTED_S = "The virtual circuit was aborted due to timeout or other failure."
  432. Global Const WSAECONNRESET_S = "The virtual circuit was reset by the remote side."
  433.  
  434. '----------------------------------------------------------------
  435. '
  436. ' Well Known Services
  437. '
  438. Global Const WKS_ECHO = 7
  439. Global Const WKS_SYSTAT = 11
  440. Global Const WKS_NETSTAT = 15
  441. Global Const WKS_FTPDATA = 20
  442. Global Const WKS_FTP = 21
  443. Global Const WKS_TELNET = 23
  444. Global Const WKS_SMTP = 25
  445. Global Const WKS_TIME = 37
  446. Global Const WKS_NAME = 42
  447. Global Const WKS_WHOIS = 43
  448. Global Const WKS_DOMAIN = 53
  449. Global Const WKS_HOSTNAME = 101
  450. ' Host Specific
  451. Global Const WKS_TFPT = 69
  452. Global Const WKS_RJE = 77
  453. Global Const WKS_FINGER = 79
  454. Global Const WKS_LINK = 87
  455. Global Const WKS_SUPDUP = 95
  456. Global Const WKS_POP_2 = 109
  457. Global Const WKS_UUCP_PATH = 117
  458. Global Const WKS_NNTP = 119
  459. Global Const WKS_NTP = 123
  460. 'UNIX Specific
  461. Global Const WKS_EXEC = 512
  462. Global Const WKS_LOGIN = 513
  463. Global Const WKS_SHELL = 514
  464. Global Const WKS_BIFF = 512
  465. Global Const WKS_WHO = 513
  466. Global Const WKS_SYSLOG = 514
  467. Global Const WKS_TALK = 517
  468. Global Const WKS_ROUTE = 520
  469.  
  470.